package com.allen.admin.service.common.service;

import com.allen.admin.service.common.domain.AdminUser;
import com.xxx.config.ModelResult;
import com.xxx.page.DataPage;

import java.util.List;


public interface AdminUserService {

	ModelResult<AdminUser> create(AdminUser obj);

	ModelResult<AdminUser> update(AdminUser obj);

	ModelResult<AdminUser> query(Long id);

	ModelResult<AdminUser> query(String account);

	ModelResult<AdminUser> query(String account, String password);

	ModelResult<List<AdminUser>> query(List<Long> ids);
	
	/**
	 * 
	 * @param departmentId required
	 * @param status optional
	 * @return
	 */
	ModelResult<List<AdminUser>> queryByDepartment(Integer departmentId, Integer status);

	ModelResult<DataPage<AdminUser>> queryPage(DataPage<AdminUser> dataPage, AdminUser qObj);

	ModelResult<List<AdminUser>> queryByRoleCode(String roleCode);

	ModelResult<AdminUser> pollUserByRoleCode(String roleCode);

	ModelResult<List<AdminUser>> queryByAccounts(List<String> accounts);
}
